<?php
class ZThreadItem{
    /**
     * @var String
     */
    private $threadTitle;
    /**
     * @var String
     */
    private $url;
    /**
     * @var Int
     */
    private $numberOfPosts;
    /**
     * @var Int
     */
    private $numberOfAuthors;
    /*
     * @var Int
     */
    private $numberOfTotalPosts;
    /*
     * @var Int
     */
    private $numberOfTotalLikes;
    /**
     * @var Int
     */
    private $numberOfTotalShares;
    /**
     * @var String
     */
    private $source;
    /**
     * @var Int
     */
    private $SMT;
    /**
     * @var string
     */
    private $lead;

    /**
     * @param $title String Title
     * @param $url String URL
     * @param $posts Int Number of posts of thread in duration that filtered
     * @param $authors Int Number of authors of  thread in duration that filtered
     * @param @totalPosts Int Number of total posts in the thread
     * @param @totalLikes Int Number of total likes in the thread
     * @param @totalShares Int Number of total shares in the thread
     * @param $source String Source
     * @param $smt Int SMT id
     * @param $lead String lead
     */
    public function __construct($title, $url, $posts, $authors, $totalPosts, $totalLikes, $totalShares, $source, $smt, $lead){
        $this->threadTitle          = $title;
        $this->url                  = $url;
        $this->numberOfPosts        = $posts;
        $this->numberOfAuthors      = $authors;
        $this->source               = $source;
        $this->SMT                  = $smt;
        $this->lead                 = $lead;
        $this->numberOfTotalPosts   = $totalPosts;
        $this->numberOfTotalLikes   = $totalLikes;
        $this->numberOfTotalShares  = $totalShares;
    }

    /**
     * @return String Thread Title
     */
    public function getThreadTitle(){
        return $this->threadTitle;
    }

    /**
     * Set Thread title
     * @param $value String
     */
    public function setThreadTitle($value){
        $this->threadTitle = $value;
    }
    /**
     * @return String Thread URL
     */
    public function getThreadURL(){
        return $this->url;
    }

    /**
     * @return Int Number of posts that matched the duration filtered
     */
    public function getNumberOfPosts(){
        return $this->numberOfPosts;
    }

    /**
     * @return Int Number of authors that matched the duration filtered
     */
    public function getNumberOfAuthors(){
        return $this->numberOfAuthors;
    }

    /**
     * @return int Number of total posts of the thread
     */
    public function getNumberOfTotalPosts() {
        return $this->numberOfTotalPosts;
    }

    /**
     * @return int Number of total likes of the thread
     */
    public function getNumberOfTotalLikes() {
        return $this->numberOfTotalLikes;
    }

    /**
     * @return Int Number of total shares of the thread
     */
    public function getNumberOfTotalShares() {
        return $this->numberOfTotalShares;
    }

    /**
     * @return String Source of Thread
     */
    public function getSource(){
        return $this->source;
    }

    /**
     * @return Int SMT ID
     */
    public function getSMT(){
        return $this->SMT;
    }

    /**
     * @return string
     */
    public function getLead() {
        return $this->lead;
    }
}